﻿using BCCommon;
using BCDto.CRM.CustomerFollowUpRecord;
using BCDto.Sim.Admin.Admin;
using System;
using System.Collections.Generic;
using System.Text;

namespace BCService.CRM.CustomerFollowUpRecord
{
    public interface ICustomerFollowUpRecordService
    {
        /// <summary>
        /// 添加新记录
        /// </summary>
        /// <param name="admin"></param>
        /// <param name="requestDto"></param>
        /// <returns></returns>
        CustomerFollowUpRecordDto Insert(AdminDto admin, CustomerFollowUpRecordRequestDto requestDto);

        /// <summary>
        /// 修改记录
        /// </summary>
        /// <param name="admin"></param>
        /// <param name="dto"></param>
        /// <returns></returns>
        CustomerFollowUpRecordDto Update(AdminDto admin, CustomerFollowUpRecordDto dto);

        /// <summary>
        /// 删除记录
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        void Delete(long id);
        /// <summary>
        /// 获取一条记录
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        CustomerFollowUpRecordDto GetByID(long id);

        /// <summary>
        /// 获取分页记录
        /// </summary>
        /// <param name="admin"></param>
        /// <param name="pageNo"></param> 
        /// <param name="pageSize"></param>
        /// <returns></returns>
        PageableList<CustomerFollowUpRecordDto> GetList(AdminDto admin, int pageNo, int pageSize);

        /// <summary>
        /// 获取指定客户的最后一条记录
        /// </summary>
        /// <param name="ccCustomerInfoId"></param>
        /// <returns></returns>
        CustomerFollowUpRecordDto GetLastRecord(long ccCustomerInfoId);

        /// <summary>
        /// 分页获取指定客户的记录列表
        /// </summary>
        /// <param name="ccCustomerInfoId"></param>
        /// <param name="pageNo"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        PageableList<CustomerFollowUpRecordDto> GetListByCustomer(long ccCustomerInfoId, int pageNo, int pageSize);
    }
}
